Polymorphism in ACL2

نویسندگان

  • Ruben Gamboa
  • Mark Patterson
چکیده

The logic of ACL2 is descended from λ-calculus via Common LISP. It is well-known that this logic is su cient to reason about arbitrary computations. However, λ-calculus is not today's dominant programming paradigm. To reason about today's programs, as opposed to today's computations, we need a logic that supports modern programming practices. In this paper, we present an approach that allows ACL2 to support polymorphism, a cornerstone of object-oriented programming. We will also show how polymorphism provides a convenient alternative to encapsulate for reasoning about classes of functions. At present, the solution is based on a translator which replaces ACL2 proof scripts including polymorphism with regular ACL2 proof scripts. In the future, we plan a version of ACL2 that supports polymorphism directly.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

ACL2(ml): Machine-Learning for ACL2

ACL2(ml) is an extension for the Emacs interface of ACL2. This tool uses machine-learning to help the ACL2 user during the proof-development. Namely, ACL2(ml) gives hints to the user in the form of families of similar theorems, and generates auxiliary lemmas automatically. In this paper, we present the two most recent extensions for ACL2(ml). First, ACL2(ml) can suggest now families of similar ...

متن کامل

Extending ACL2 with SMT Solvers

We present our extension of ACL2 with Satisfiability Modulo Theories (SMT) solvers using ACL2’s trusted clause processor mechanism. We are particularly interested in the verification of physical systems including Analog and Mixed-Signal (AMS) designs. ACL2 offers strong induction abilities for reasoning about sequences and SMT complements deduction methods like ACL2 with fast nonlinear arithmet...

متن کامل

Ivy : a Preprocessor and Proofchecker for First - Order

This case study shows how non-ACL2 programs can be combined with ACL2 functions in such a way that useful properties can be proved about the composite programs. Nothing is proved about the non-ACL2 programs. Instead, the results of the non-ACL2 programs are checked at run time by ACL2 functions, and properties of these checker functions are proved. The application is resolution/paramodulation a...

متن کامل

Enhancements to ACL2 in Versions 6.2, 6.3, and 6.4

We report on improvements to ACL2 made since the 2013 ACL2 Workshop.

متن کامل

Chapter 1 IVY : A PREPROCESSOR AND PROOFCHECKER FOR FIRST - ORDER LOGICWilliam

This case study shows how non-ACL2 programs can be combined with ACL2 functions in such a way that useful properties can be proved about the composite programs. Nothing is proved about the non-ACL2 programs. Instead, the results of the non-ACL2 programs are checked at run time by ACL2 functions, and properties of these checker functions are proved. The application is resolution/paramodulation a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003